In computer programming, internationalization (also known as National Language Support, Native Language Support, NLS, or i18n) is a term used to describe the adaptation of computer software to accommodate different languages and regional differences. The process of internationalization during software application design allows the software application to potentially be adapted to various languages and regions without necessarily requiring engineering changes.
At its most basic level, internationalization involves the translation of words and phrases—the grammatical output of a software application that is presented to the user on a display of an electronic device running the software application. Internationalization can involve more than just translation, however, as there can be various other differences in grammatical output from one locale to the next. Such differences can include differences in dialect or word choice (e.g., considering French spoken in France versus French spoken in Canada); formatting of numbers (punctuation, date formatting, etc.); visual presentation of text considering writing direction (left to right versus right to left); capitalization, punctuation, and/or pluralization rules; units of measurement; and so on.
Considering the amount of grammatical output that is generated for certain software applications, there is a need for a more efficient, less time consuming, and more easily manageable mechanism for internationalizing grammatical output, such as for software applications used in the healthcare industry.